/*
 * @Author: WuFeng <763467339@qq.com>
 * @Date: 2022-08-12 22:30:58
 * @LastEditTime: 2025-10-16 16:23:40
 * @LastEditors: WuFeng <763467339@qq.com>
 * @Description: 列数据配置文件
 * @FilePath: \vue-code-design\templates\vue3ElementPlus\DrawerDemo\views\tableName\index.js
 * @Copyright 版权声明
 */

// 当前模块名称
export const MODULE_VALUE = '{{{=it.newOptions.MODULE_VALUE}}}'
{{{? false}}}
  // 字段配置
  export const COLUMN = [
    {{{~it.newOptions.column :value:index}}}
    {{{=(function(val) {return JSON.stringify(val)})(it.newOptions.column[index])}}}{{{? (index + 1) !== it.newOptions.columnNum}}},{{{?}}}
    {{{~}}}
  ]
  // export const COLUMN = [
  //   {{{~it.newOptions.column :value:index}}}{
  //     label: '{{{=value.label || ""}}}', //
  //     prop: '{{{=value.prop || ""}}}',
  //     search: false, // 是否在搜索区作为查询条件展示， 默认值： false
  //     searchType: 'text', // 定义搜索框的类型， 默认值： text ， 枚举： text 、 select 、 selectMultiple 、 checkbox 、 radio 、 daterange 、 datetime
  //     searchPlaceholder: '请输入{{{=value.label || ""}}}', // 输入框占位文本
  //     searchTip: '{{{=value.label || ""}}}提示语', // 辅助提示语
  //     searchTipPlacement: 'left' // 提示语的方向
  //   }{{{? (index + 1) !== it.newOptions.columnNum}}},{{{?}}}
  //   {{{~}}}
  // ]
{{{?}}}
// 模块配置
export const MODULE_OPTIONS = {{{=(function(it) {
  const res = JSON.parse(JSON.stringify(Object.assign({}, it.newOptions)));
  if (typeof res.columnNum !== 'undefined') {
    delete res.columnNum;
  }
  if (typeof res.isDebugger !== 'undefined') {
    delete res.isDebugger;
  }

  if (typeof res.column !== 'undefined' && res.column.length > 0) {
    res.column.forEach(item => {
      if (typeof item.tableName !== 'undefined') {
        delete item.tableName;
      }
      if (typeof item.tableColumnName !== 'undefined') {
        delete item.tableColumnName;
      }
    })
  }

  if (typeof res.formConfig !== 'undefined') {
    delete res.formConfig;
  }

  if (typeof res.otherConfig !== 'undefined') {
    delete res.otherConfig;
  }

  if (typeof res.apiConfig !== 'undefined') {
    delete res.apiConfig;
  }
  
  let resStr = JSON.stringify(res);
  resStr = resStr.replace(`"MODULE_VALUE":"${it.newOptions.MODULE_VALUE}"`, 'MODULE_VALUE');

  const patternReg = new RegExp('"pattern":".*?(?=,"message)', 'g');
  const patternMatchs = resStr.match(patternReg);
  if (patternMatchs && patternMatchs.length > 0) {
    for (const item of patternMatchs) {
      let itemTemp = item;
      itemTemp = itemTemp.slice(0, -1);
      itemTemp = itemTemp.replace('"pattern":"', '"pattern":');
      itemTemp = itemTemp.replaceAll("\\\\", "\\");
      resStr = resStr.replace(item, itemTemp);
    }
  }
  
  return resStr;
})(it)}}}
